package com.shopx.cm.dao.db1;

import com.shopx.cm.bean.CmMeasure;
import com.shopx.cm.bean.CmSend;
import com.shopx.cm.dto.CmSendDTO;
import com.shopx.cm.dto.CmSendStateDTO;
import com.shopx.cm.dto.CmStateDTO;
import com.shopx.cm.model.CmSendModel;
import com.shopx.dal.mysql.SqlMapper;
import java.util.List;

/**
 * TODO
 * @author lituo
 * @className: CmSend
 * @date 2025-01-07
 */
@SqlMapper
public interface CmSendDao {
    /**
     * 查询明细记录
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return CmSendModel
     */
    CmSendModel selectByPrimaryKey(CmSend cmSend);
    /**
     * 新增记录
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return int
     */
	int insertSelective(CmSend cmSend);

    /**
     * 修改记录
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return int
     */
	int updateByPrimaryKeySelective(CmSendModel cmSend);

    /**
     * 删除记录
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return int
     */
	int deleteByPrimaryKey(CmSend cmSend);

    /**
     * 查询总记录数
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return int
     */
	int selectCount(CmSendModel cmSend);

    /**
     * 查询列表
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return List<CmSendModel>
*/
	List<CmSendModel> selectList(CmSendModel cmSend);

    /**
     * 批量同步数据
     * @param list
     * @return
     */
    int insertBatch(List<CmSend> list);

    /**
     * 清空数据重新抽取
     * @return
     */
    int truncateTable();

    /**
     * 延期标志批量更新
     * @return
     */
    int updateDelayBatch(List<CmSendDTO> list);

    /**
     * 查询品牌跟单状态报表
     * @param cmSend
     * @return
     */
    List<CmSendStateDTO> selectSendStateRpt(CmSendModel cmSend);

    /**
     * 查询财务状态报表
     * @param cmSend
     * @return
     */
    List<CmStateDTO> selectFinanceStateRpt(CmSendModel cmSend);

    /**
     * 查询施工状态报表
     * @param cmSend
     * @return
     */
    List<CmStateDTO> selectBuildStateRpt(CmSendModel cmSend);
}

